package br.edu.udc.sistemas.ia5.entity;

public class Veiculo implements Entity{
	private Integer idVeiculo;
	private String placa;
	private String chassi;
	private Modelo modelo;
	
	public Veiculo(){}
	
	public Integer getIdVeiculo() {
		return idVeiculo;
	}
	
	public void setIdVeiculo(Integer idVeiculo) {
		this.idVeiculo = idVeiculo;
	}

	public String getPlaca() {
		return placa;
	}


	public void setPlaca(String placa) {
		this.placa = placa;
	}

	public Modelo getModelo() {
		return modelo;
	}

	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}

	@Override
	public String toString() {
		return this.idVeiculo + " - " + this.placa + " - " + this.modelo.getDescricao();
	}
	@Override
	public boolean equals(Object obj) {
		if (obj instanceof Produto){
			Produto produtoAux = (Produto)obj;
			if (produtoAux.getId() == this.idVeiculo){
				return true;
			}
		}
		return false;
	}

	@Override
	public String getTableName() {
		return "veiculo";
	}
	@Override
	public String getIdName() {
		return "idveiculo";
	}

	@Override
	public String getIdValue() {
		return String.valueOf(this.idVeiculo);
	}

	@Override
	public String[] getFieldNames() {
		String names[] = new String[4];
		names[0] = "idveiculo";
		names[1] = "placa";
		names[2] = "chassi";
		names[3] = "idmodelo";
		return names;
	}

	@Override
	public String[] getFieldValues() {
		String values[] = new String[4];
		values[0] = String.valueOf(this.idVeiculo);
		values[1] = this.placa;
		values[2] = this.chassi;
		values[3] = this.modelo == null ? null : String.valueOf(this.modelo.getIdModelo());
		return values;
	}

	@Override
	public void setIdValue(String id) {
		try {
			this.idVeiculo = Integer.parseInt(id);
		} catch (Exception e) {
			this.idVeiculo = null;
		}
	}

	@Override
	public void setFieldValues(String[] values) {
		try {
			this.idVeiculo = Integer.parseInt(values[0]);
		} catch (Exception e) {
			this.idVeiculo = null;
		}
		this.placa = values[1];
		this.chassi = values[2];

		this.modelo = new Modelo();
		try {
			this.modelo.setIdModelo(Integer.parseInt(values[3]));
		} catch (Exception e) {
		}
	}

	public String getChassi() {
		return chassi;
	}

	public void setChassi(String chassi) {
		this.chassi = chassi;
	}
}
